#pragma once

#include "SharedData.h"
#include "Driver/DriverModel.h"
#include "Axis/AxisModel.h"

class AxisManager {
public:
    explicit AxisManager();
    ~AxisManager();

public:
    void TimeTick();
    void PowerOn(int axis_index);
    void PowerOff(int axis_index);
    void Home(int axis_index);
    void CancelHome(int axis_index);
    void AddDriver(SlavePDOS* pdos);
private:
    std::vector<std::shared_ptr<Axis::AxisModel>> axises;
    std::vector<std::shared_ptr<Driver::DriverModel>> drivers;
};